# #1、输入数字n，输出n天前的日期（time或者datatime模块）
# import datetime
# num = int(input())
# now = datetime.datetime.now().date()
# delta = datetime.timedelta(days = n)
# print(now - delta)
# #2、输出指定文件夹下有哪些文件或文件夹（实现ls命令， os）
# import os
# import os
# dirs = os.listdir('/lianxi/python_lianxi')
# print(dirs)
# #3、列表去重，并且从小到大排序
# lst1 = [1,34,4,53,53,4,53,5,6,3]
# set1 = set(lst1)
# # print(set1)
# # print(type(set1))
# lst1 = list(set1)
# # print(lst1)
# # print(type(lst1))
# # lst2 = []
# lst1.sort()
# print(lst1)
# rang1 = len(lst1)
# for i in range(rang1):
#     lst2.append(min(lst1))
#     lst1.remove(min(lst1))
# print(lst2)
# #4、如何在一个函数内部修改全局变量
# def modify():
#     global g1
#     g1 =1
# g1 = 2
# modify()
# print(g1)
#5、如何跨模块共享全局变量
# globalval,test
#6、python的基本数据类型有哪些？
# 数值型：整数、浮点型、布尔、负数
# 字符串
# 字节型
# 集合
# 列表
# 字典

#7、python中生成随机整数（1-10），随机小数（1-10），随机小数（0-1）的方法
# import random
# # 随机整数（1-10）
# print(random.randint(1,10))
# # 随机小数（1-10）
# print(random.uniform(1,10))
# # 随即小数（0-1）
# print(random.random())
# 8、python中哪些是可变数据类型，哪些是不可变数据类型
# 可变：列表、字典、集合
# 不可变：整数、浮点、元组、布尔

#9、a+=1与a=a+1有什么区别
# 对于可变对象，a += 1 直接在原内存地址上操作a = a + 1开辟新的内存操作
# 对于不可变对象，a += 1和a = a + 1都是在新开辟的空间操作

#10、什么是pep8？说出5点它的标准
# 1 缩进。4个空格的缩进（编辑器都可以完成此功能），不使用Tap，更不能混合使用Tap和空格。
# 2 每行最大长度79，换行可以使用反斜杠，最好使用圆括号。换行点要在操作符的后边敲回车。
# 3 类和top-level函数定义之间空两行；类中的方法定义之间空一行；函数内逻辑无关段落之间空一行；其他地方尽量不要再空行。
# 4 模块导入的顺序：按标准、三方和自己编写顺序依次导入，之间空一行。
# 5 不要在一句import中多个库，比如import os, sys不推荐
# 6 避免不必要的空格
# 7 注释必须要有
# 8 函数命名要遵循规范
# 10 尽可能使用‘is’‘is not’取代‘==’，比如if x is not None 要优于if x。
# 11 使用基于类的异常，每个模块或包都有自己的异常类，此异常类继承自Exception。
# 12 异常中try的代码尽可能少。

#11、给定一个字符串，找出字符串第一个重复的字符
# str1 ="fsdfdsfdsfdgdfdfdddfsf"
# lst1 = list(str1)
# for i in range(0,len(lst1)-1):
#     if lst1[i] == lst1[i+1]:
#         print(lst1[i])
#         break
# else:
#     print("字符串中没有连续重复的字符")

#12、简述深拷贝与浅拷贝

#13、简述python内存机制

#14、使用python实现冒泡排序，快速排序
# def sort(lst):
#     num1 = 0
#     for i in range(len(lst)-1):
#         for j in range(len(lst)-i-1):
#             if lst[j+1] < lst[j]:
#                 num1 = lst[j+1]
#                 lst[j+1] = lst[j]
#                 lst[j] = num1
#     return lst
#
# lst1 = [2,4,6,363,62,5625,53,23432,4]
# lst1 = sort(lst1)
# print(lst1)

#15、验证一个字符串是否属于回文（从左到右，从右到左都是一样）
# str1 = input("请输入您要检测的字符串：")
# str1 = ' '.join (i.lower() for i in str1 if str1.isalpha())
# # print(lst1[::-1])
# # print(str1)
# if str1 == str1[::-1]:
#     print(str1)
# else:
#     print("您输入的不是回文字符")